home *** CD-ROM | disk | FTP | other *** search
/ The Best of MacTutor - S…e Code for Volumes 1 to 5 / The Best of MacTutor - Source Code for Volume 1-5 (Wayzata Technology)(6031)(1990).bin / Source Code / #40 (Jan 89) / Help.sit / PackMacs.Txt < prev    next >
Text File  |  1986-07-11  |  12KB  |  545 lines

  1.  
  2. ; File: PackMacs.txt
  3. ;
  4. ; Version 2.0
  5. ;
  6. ; Copyright 1984, 1985, 1986 Apple Computer, Inc. All Rights Reserved
  7. ;
  8.  
  9. ;
  10. ; Package Equates -- This file defines the high-level equates for the
  11. ;    Standard File, Disk Initialization, International Utilities, and
  12. ;    Binary-Decimal Conversion packages, and the List Manager.  The equates
  13. ;    for the Floating-PointArithmetic and Transcendental Functions packages
  14. ;    can be found in SANEMacs.a. 
  15.  
  16. listMgr         EQU  0     ; List Manager
  17.                          ; 1 reserved for use by Apple Computer, Inc.
  18. dskInit         EQU  2     ; Disk Initialization
  19. stdFile         EQU  3     ; Standard File
  20. flPoint         EQU  4     ; Floating-Point Arithmetic
  21. trFunc            EQU  5     ; Transcendental Functions
  22. intUtil         EQU  6     ; International Utilities
  23. bdConv            EQU  7     ; Binary/Decimal Conversion
  24.  
  25. ; Equates for STANDARD FILE PACKAGE
  26. putDlgID        EQU  -3999     ; SFPutFile dialog template ID
  27. getDlgID        EQU  -4000     ; SFGetFile dialog template ID
  28.  
  29. putSave         EQU  1     ; save button
  30. putCancel        EQU  2     ; cancel button
  31. putEject        EQU  5     ; eject button
  32. putDrive        EQU  6     ; drive button
  33. putName         EQU  7     ; editTExt item for file name
  34.  
  35.  
  36. getOpen         EQU  1     ; open button
  37. getCancel        EQU  3     ; cancel button
  38. getEject        EQU  5     ; eject button
  39. getDrive        EQU  6     ; drive button
  40. getNmList        EQU  7     ; userItem for file name list
  41. getScroll        EQU  8     ; userItem for scroll bar
  42.  
  43. ; Reply record data structure
  44. rGood            EQU  0     ; ignore command if FALSE
  45. rType            EQU  2     ; file type
  46. rVolume         EQU  6     ; volume reference number
  47. rVersion        EQU  8     ; file's version number
  48. rName            EQU  10  ; file name
  49.  
  50. ; Routine selectors
  51. sfPutFile        EQU  1
  52. sfPPutFile        EQU  3
  53. sfGetFile        EQU  2
  54. sfPGetFile        EQU  4
  55.  
  56. ; Equates for DISK INITIALIZATION PACKAGE
  57.  
  58. ; Routine selectors
  59. diLoad            EQU  2
  60. diUnload        EQU  4
  61. diBadMount        EQU  0
  62. diFormat        EQU  6
  63. diVerify        EQU  8
  64. diZero            EQU  10
  65.  
  66. ; Result codes are defined in SysEqu.a
  67.  
  68. ; Equates for INTERNATIONAL PACKAGE
  69.  
  70. ; Routine selectors
  71. iuGetIntl        EQU  6
  72. iuSetIntl        EQU  8
  73. iuDateString    EQU  0
  74. iuDatePString    EQU  14
  75. iuTimeString    EQU  2
  76. iuTimePString    EQU  16
  77. iuMetric        EQU  4
  78. iuMagString     EQU  10
  79. iuMagIDString    EQU  12
  80.  
  81.  
  82. ; Data structures for International Utilities
  83. ; International 0 record
  84.  
  85. decimalPt        EQU  0     ; ASCII character for decimal point
  86. thousSep        EQU  1     ; ASCII character for thousand separator
  87. listSep         EQU  2     ; ASCII character for list separator
  88. currSym         EQU  3     ; ASCII for currency symbol (3 bytes long)
  89. currFmt         EQU  6     ; currency format flags
  90. dateOrder        EQU  7     ; short date form - DMY,YMD, or MDY
  91. shrtDateFmt     EQU  8     ; date elements format flag
  92. dateSep         EQU  9     ; ASCII for date separator
  93. timecycle        EQU  10  ; indicates 12 or 24 hr cycle
  94. timeFmt         EQU  11  ; time elements format flags
  95. mornStr         EQU  12  ; ASCII for trailing string from 0:00 to 11:59
  96. eveStr            EQU  16  ; ASCII for trailing string from 12:00 to 23:59
  97. timeSep         EQU  20  ; ASCII for the time separator
  98. timeSuff        EQU  21  ; suffix string used in 24 hr mode
  99. metricSys        EQU  29  ; indicates metric or English system
  100. intl0Vers        EQU  30  ; version: high byte = country. low byte = vers
  101.  
  102.  
  103. ; International 1 record
  104. days            EQU  0
  105. months            EQU  112
  106. suppressDay     EQU  304
  107. lngDateFmt        EQU  305
  108. dayLeading0     EQU  306
  109. abbrLen         EQU  307
  110. st0             EQU  308
  111. st1             EQU  312
  112. st2             EQU  316
  113. st3             EQU  320
  114. st4             EQU  324
  115. intl1Vers        EQU  328
  116. localRtn        EQU  330
  117.  
  118.  
  119. ; Constants for manipulation of international resources
  120. ; Way to specify desired date format
  121. shortDate        EQU  0
  122. longDate        EQU  1
  123. abbrevDate        EQU  2
  124.  
  125. ; Masks used for setting and testing currency format flags
  126. currLeadingZ    EQU  128     ; set if leading zero
  127. currTrailingZ    EQU  64  ; set if trailing zero
  128. currNegSym        EQU  32  ; set if minus sign for negative num, reset if parentheses}
  129. currSymLead     EQU  16  ; set if currency symbol leads, reset if trails}
  130.  
  131. ; Constants specifying absolute value of short date form
  132. mdy         EQU  0     ; month,day,year
  133. dmy         EQU  1     ; day,month,year
  134. ymd         EQU  2     ; year,month,day
  135.  
  136. ; Masks used for date element format flags
  137. century         EQU  128     ; set if century, reset if no century
  138. mntLdingZ        EQU  64  ; set if leading 0 for month
  139. dayLdingZ        EQU  32  ; set if leading zero for day
  140.  
  141. ; Masks used for time element format flags
  142. hrLeadingZ        EQU  128     ; set if leading zero for hours
  143. minLeadingZ     EQU  64  ; set if leading zero for minutes
  144. secLeadingZ     EQU  32  ; set if leading zero for seconds
  145.  
  146. ; Country codes for version numbers
  147. verUS            EQU  0
  148. verFrance        EQU  1
  149. verBritain        EQU  2
  150. verGermany        EQU  3
  151. verItaly        EQU  4
  152. verNetherlands    EQU  5
  153. verBelgiumLux    EQU  6
  154. verSweden        EQU  7
  155. verSpain        EQU  8
  156. verDenmark        EQU  9
  157. verPortugal     EQU  10
  158. verFrCanada     EQU  11
  159. verNorway        EQU  12
  160. verIsrael        EQU  13
  161. verJapan        EQU  14
  162. verAustralia    EQU  15
  163. verArabia        EQU  16
  164. verFinland        EQU  17
  165. verFrSwiss        EQU  18
  166. verGrSwiss        EQU  19
  167. verGreece        EQU  20
  168. verIceland        EQU  21
  169. verMalta        EQU  22
  170. verCyprus        EQU  23
  171. verTurkey        EQU  24
  172. verYugoslavia    EQU  25
  173.  
  174.  
  175.  
  176. ; Equates for BINARY-DECIMAL CONVERSION PACKAGE
  177.  
  178. ; Routine selectors
  179. numToString     EQU  0
  180. stringToNum     EQU  1
  181.  
  182.  
  183. ; List Manager Equates
  184.  
  185. rView        EQU        0        ; Rect in which we are viewed
  186. port        EQU        8        ; Grafport that owns us
  187.  
  188. indent        EQU        12        ; Indent line/fields in cell
  189. cellSize    EQU        16        ; Cell size
  190.  
  191. visible     EQU        20        ; lines/fields visible bounds
  192.  
  193. vScroll     EQU        28        ; vertical scroll bar (or NIL)
  194. hScroll     EQU        32        ; horizontal scroll bar (or NIL)
  195.  
  196. selFlags    EQU        36        ; Multiple selections allowed
  197. lActive     EQU        37        ; active or inactive boolean
  198. lReserved    EQU        38        ; private flags used internally
  199. listFlags    EQU        39        ; autoscrolling flags, etc.
  200.  
  201. clikTime    EQU        40        ; time of last click
  202. clikLoc     EQU        44        ; position of last click
  203. mouseLoc    EQU        48        ; current position of mouse
  204. lClikLoop    EQU        52        ; routine to call during ListClick
  205. lastClick    EQU        56        ; the last cell that was clicked in
  206.  
  207. refCon        EQU        60        ; reference value
  208.  
  209. listDefHandle    EQU    64        ; Handle to list defproc
  210. userHandle    EQU        68        ; general storage for user
  211.  
  212. dataBounds    EQU        72        ; Bounds of lines/fields
  213. cells        EQU        80        ; Handle to data
  214.  
  215. maxIndex    EQU        84        ; index of lastcell + 1
  216. cellArray    EQU        86        ; offsets to cells
  217.  
  218. sizeList    EQU        86        ; size sans selections
  219.  
  220.  
  221. ; these are equates for accessing the SelFlags byte
  222. ; All flags are true if one
  223.  
  224. lOnlyOne    EQU        7                ; 0 = multiple selections, 1 = one
  225. lExtendDrag EQU        6                ; 1 = drag select without shift key
  226. lNoDisjoint EQU        5                ; 1 = turn off selections on click
  227. lNoExtend    EQU        4                ; 1 = don't extend shift selections
  228. lNoRect     EQU        3                ; 1 = don't grow (shift,drag) selection as rect
  229. lUseSense    EQU        2                ; 1 = shift should use sense of start cell
  230. lNoNilHilite  EQU       1                ; 1 = don't hilite empty cells
  231.  
  232.  
  233. ; these are bit numbers within the listFlags byte
  234. ; All flags are true if one
  235.  
  236. lDoVAutoscroll    EQU    1                ; 1 = allow vertical autoscrolling
  237. lDoHAutoscroll    EQU    0                ; 1 = allow horizontal autoscrolling
  238.  
  239.  
  240. ; these are the messages sent to a list defproc
  241.  
  242. lInitMsg        EQU   0           ; tell drawing routines to init themselves
  243. lDrawMsg        EQU   1           ; draw (and de/select) the indicated data
  244. lHiliteMsg        EQU   2           ; invert hilite state of specified cell
  245. lCloseMsg        EQU   3           ; shut down, the list is being disposed
  246.  
  247.  
  248. ; For package invocation
  249. ;    First arg is routine selector, second is the trap
  250.  
  251.         
  252.         .MACRO _PackCall
  253.         MOVE.W      %1,-(SP)
  254.         %2
  255.         .ENDM
  256.  
  257. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  258. ; Disk Initialization
  259. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  260.         
  261.         
  262.         .MACRO _DILoad
  263.         _PackCall #DILoad,_Pack2
  264.         .ENDM
  265.  
  266.         
  267.         .MACRO _DIUnLoad
  268.         _PackCall #DIUnLoad,_Pack2
  269.         .ENDM
  270.  
  271.         
  272.         .MACRO _DIBadMount
  273.         _PackCall #DIBadMount,_Pack2
  274.         .ENDM
  275.  
  276.         
  277.         .MACRO _DIFormat
  278.         _PackCall #DIFormat,_Pack2
  279.         .ENDM
  280.  
  281.         
  282.         .MACRO _DIVerify
  283.         _PackCall #DIVerify,_Pack2
  284.         .ENDM
  285.  
  286.         
  287.         .MACRO _DIZero
  288.         _PackCall #DIZero,_Pack2
  289.         .ENDM
  290.  
  291. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  292. ; Standard File
  293. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  294.         
  295.         
  296.         .MACRO _SFPutFile
  297.         _PackCall #SFPutFile,_Pack3
  298.         .ENDM
  299.  
  300.         
  301.         .MACRO _SFPPutFile
  302.         _PackCall #SFPPutFile,_Pack3
  303.         .ENDM
  304.  
  305.         
  306.         .MACRO _SFGetFile
  307.         _PackCall #SFGetFile,_Pack3
  308.         .ENDM
  309.  
  310.         
  311.         .MACRO _SFPGetFile
  312.         _PackCall #SFPGetFile,_Pack3
  313.         .ENDM
  314.  
  315. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  316. ; International Utilities
  317. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  318.         
  319.         
  320.         .MACRO _IUGetIntl
  321.         _PackCall #IUGetIntl,_Pack6
  322.         .ENDM
  323.  
  324.         
  325.         .MACRO _IUSetIntl
  326.         _PackCall #IUSetIntl,_Pack6
  327.         .ENDM
  328.  
  329.         
  330.         .MACRO _IUDateString
  331.         _PackCall #IUDateString,_Pack6
  332.         .ENDM
  333.  
  334.         
  335.         .MACRO _IUDatePString
  336.         _PackCall #IUDatePString,_Pack6
  337.         .ENDM
  338.  
  339.         
  340.         .MACRO _IUTimeString
  341.         _PackCall #IUTimeString,_Pack6
  342.         .ENDM
  343.  
  344.         
  345.         .MACRO _IUTimePString
  346.         _PackCall #IUTimePString,_Pack6
  347.         .ENDM
  348.  
  349.         
  350.         .MACRO _IUMetric
  351.         _PackCall #IUMetric,_Pack6
  352.         .ENDM
  353.  
  354.         
  355.         .MACRO _IUMagString
  356.         _PackCall #IUMagString,_Pack6
  357.         .ENDM
  358.  
  359.         
  360.         .MACRO _IUMagIDString
  361.         _PackCall #IUMagIDString,_Pack6
  362.         .ENDM
  363.  
  364. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  365. ; Binary-Decimal Conversion
  366. ;QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
  367.         
  368.         
  369.         .MACRO _StringToNum
  370.         _PackCall #stringToNum,_Pack7
  371.         .ENDM
  372.  
  373.         
  374.         .MACRO _NumToString
  375.         _PackCall #numToString,_Pack7
  376.         .ENDM
  377.  
  378. ;---------------------------------------------------------------------------
  379. ;
  380. ;        These are the definitions for the List Manager calls
  381. ;        implemented as Pack0.
  382. ;
  383. ;---------------------------------------------------------------------------
  384.  
  385. lActivate         EQU    0
  386. lAddColumn         EQU    4
  387. lAddRow          EQU    8
  388. lAddToCell         EQU    12
  389. lAutoScroll      EQU    16
  390. lCellSize         EQU    20
  391. lClick             EQU    24
  392. lClrCell         EQU    28
  393. lDelColumn         EQU    32
  394. lDelRow          EQU    36
  395. lDispose         EQU    40
  396. lDoDraw          EQU    44
  397. lDraw             EQU    48
  398. lFind             EQU    52
  399. lGetCell         EQU    56
  400. lGetSelect         EQU    60
  401. lLastClick         EQU    64
  402. lNew             EQU    68
  403. lNextCell         EQU    72
  404. lRect             EQU    76
  405. lScroll          EQU    80
  406. lSearch          EQU    84
  407. lSetCell         EQU    88
  408. lSetSelect         EQU    92
  409. lSize             EQU    96
  410. lUpdate          EQU    100
  411.  
  412.  
  413.  
  414.         
  415.         .MACRO _LActivate
  416.         _PackCall  #lActivate,_Pack0
  417.         .ENDM
  418.  
  419.         
  420.         .MACRO _LAddColumn
  421.         _PackCall  #lAddColumn,_Pack0
  422.         .ENDM
  423.  
  424.         
  425.         .MACRO _LAddRow
  426.         _PackCall  #lAddRow,_Pack0
  427.         .ENDM
  428.  
  429.         
  430.         .MACRO _LAddToCell
  431.         _PackCall  #lAddToCell,_Pack0
  432.         .ENDM
  433.  
  434.         
  435.         .MACRO _LAutoScroll
  436.         _PackCall  #lAutoScroll,_Pack0
  437.         .ENDM
  438.  
  439.         
  440.         .MACRO _LCellSize
  441.         _PackCall  #lCellSize,_Pack0
  442.         .ENDM
  443.  
  444.         
  445.         .MACRO _LClick
  446.         _PackCall  #lClick,_Pack0
  447.         .ENDM
  448.  
  449.         
  450.         .MACRO _LClrCell
  451.         _PackCall  #lClrCell,_Pack0
  452.         .ENDM
  453.  
  454.         
  455.         .MACRO _LDelColumn
  456.         _PackCall  #lDelColumn,_Pack0
  457.         .ENDM
  458.  
  459.         
  460.         .MACRO _LDelRow
  461.         _PackCall  #lDelRow,_Pack0
  462.         .ENDM
  463.  
  464.         
  465.         .MACRO _LDispose
  466.         _PackCall  #lDispose,_Pack0
  467.         .ENDM
  468.  
  469.         
  470.         .MACRO _LDoDraw
  471.         _PackCall  #lDoDraw,_Pack0
  472.         .ENDM
  473.  
  474.         
  475.         .MACRO _LDraw
  476.         _PackCall  #lDraw,_Pack0
  477.         .ENDM
  478.  
  479.         
  480.         .MACRO _LFind
  481.         _PackCall  #lFind,_Pack0
  482.         .ENDM
  483.  
  484.         
  485.         .MACRO _LGetCell
  486.         _PackCall  #lGetCell,_Pack0
  487.         .ENDM
  488.  
  489.         
  490.         .MACRO _LGetSelect
  491.         _PackCall  #lGetSelect,_Pack0
  492.         .ENDM
  493.  
  494.         
  495.         .MACRO _LLastClick
  496.         _PackCall  #lLastClick,_Pack0
  497.         .ENDM
  498.  
  499.         
  500.         .MACRO _LNew
  501.         _PackCall  #lNew,_Pack0
  502.         .ENDM
  503.  
  504.         
  505.         .MACRO _LNextCell
  506.         _PackCall  #lNextCell,_Pack0
  507.         .ENDM
  508.  
  509.         
  510.         .MACRO _LRect
  511.         _PackCall  #lRect,_Pack0
  512.         .ENDM
  513.  
  514.         
  515.         .MACRO _LScroll
  516.         _PackCall  #lScroll,_Pack0
  517.         .ENDM
  518.  
  519.         
  520.         .MACRO _LSearch
  521.         _PackCall  #lSearch,_Pack0
  522.         .ENDM
  523.  
  524.         
  525.         .MACRO _LSetCell
  526.         _PackCall  #lSetCell,_Pack0
  527.         .ENDM
  528.  
  529.         
  530.         .MACRO _LSetSelect
  531.         _PackCall  #lSetSelect,_Pack0
  532.         .ENDM
  533.  
  534.         
  535.         .MACRO _LSize
  536.         _PackCall  #lSize,_Pack0
  537.         .ENDM
  538.  
  539.         
  540.         .MACRO _LUpdate
  541.         _PackCall  #lUpdate,_Pack0
  542.         .ENDM
  543.  
  544.  
  545.